package cn.itsource.basic.util;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Api("通用返回对象")
public class AjaxResult {
    //状态码 0000:成功 1000:系统错误 1001:登录超时
    @ApiModelProperty("状态码 0000:成功 1000:系统错误 1001:登录超时,还有其他看文档")
    private String code = PetConstant.SYSTEM_SUCCESS; //成功
    //提示信息
    @ApiModelProperty("提示信息")
    private String message = "OK";
    //主状态
    @ApiModelProperty("成功或失败状态")
    private Boolean success = true;
    //数据载体
    @ApiModelProperty("返回的数据")
    private Object data;

    /**
     * 返回成功的对象
     * @return
     */
    public static AjaxResult createSuccess(){
        return new AjaxResult();
    }

    /**
     * 返回成功的对象,并且携带数据
     * @return
     */
    public static AjaxResult createSuccess(Object data){
        return new AjaxResult(PetConstant.SYSTEM_SUCCESS,"OK",true,data);
    }

    /**
     * 返回失败对象,携带message提示信息
     * @return
     */
    public static AjaxResult createError(String message){
        return new AjaxResult(PetConstant.SYSTEM_ERROR,message,false,null);
    }

    /**
     * 返回失败对象,携带message提示信息
     * @return
     */
    public static AjaxResult createError(String code ,String message){
        return new AjaxResult(code, message,false,null);
    }

}
